CREATE TABLE `SRTrade`.`MsgSRParentBrkrDetail` (
`accnt` VARCHAR(16) NOT NULL DEFAULT '',
`secKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None',
`secKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None',
`secKey_tk` VARCHAR(12) NOT NULL DEFAULT '',
`secKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
`secKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`secKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`secKey_xx` DOUBLE NOT NULL DEFAULT 0,
`secKey_cp` ENUM('Call','Put','Pair') NOT NULL DEFAULT 'Call',
`secType` ENUM('None','Stock','Future','Option','MLeg') NOT NULL DEFAULT 'None',
`spdrSource` ENUM('None','SpdrTicket','SpdrSingle','SRSE','FIX','HedgeTool','TradeHedge','OpenHedge','AutoHedge','Orphan','RiskManager','OrderManager','ManagedOrder','RFQRespSrvr','Legger','SRSEDrop','FixDrop','TicketDrop','SysTest','RFRResponse','AllocOmni','AllocClient','CertGateway','MLegResponse','LeggerX','DropManager','AutoHedgeSrvr','AuctionStrategySrvr','AllocBlockFace','AllocBlockCust','IceChatGateway','EXS2SRC','MLinkResponse','AutoResponderVD','AutoResponderRC','AutoResponderSN','AutoResponderBX','MLink') NOT NULL DEFAULT 'None',
`groupingCode` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000',
`orderSide` ENUM('None','Buy','Sell') NOT NULL DEFAULT 'None',
`clientFirm` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'SR client firm',
`userName` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'SR user name string',
`engineName` TINYTEXT NOT NULL DEFAULT '' COMMENT 'server stripe',
`parentNumber` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'SR parent number',
`baseParentNumber` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000',
`riskGroupId` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'all orders with the same riskGroupId share a common set of risk counters;.Grp. risk limits apply to these shared counters',
`triggerGroupId` BIGINT NOT NULL DEFAULT 0,
`strategy` VARCHAR(36) NOT NULL DEFAULT '' COMMENT 'parent order strategy (description only)',
`spdrStageType` ENUM('None','ModifyAny','ModifyAlgo') NOT NULL DEFAULT 'None' COMMENT 'parent is a staged order [ToolVisible]',
`startType` ENUM('None','WaitTrigger','TriggerAll') NOT NULL DEFAULT 'None',
`maxExposureSize` INT NOT NULL DEFAULT 0 COMMENT 'maximum simultaneous cumulative child order public size exposure (-1 = orderActiveSize) [order can overfill if > orderActiveSize and numMakeExchanges > 1]',
`numMakeExchanges` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'number of exchanges (1 - 4) on which to publish public making orders. Effective number might be less than requested number if sufficient exchanges are not available.',
`publicSize` ENUM('None','Randomize','MktSize','FullSize','MktSizeA','MktSizeB','MktSizeC','FullSizeR','Max25Pct','Max50Pct','Max75Pct','NoSize') NOT NULL DEFAULT 'None' COMMENT 'public order size handling',
`canOverlapCxlRepl` ENUM('None','Yes','No') NOT NULL DEFAULT 'None' COMMENT 'can execution engines overlap cancel/replace operations [order can overfill if YES] (at most one active overlapping cxl/replace operation for each parent order)',
`progressRule` ENUM('None','Twap','Vwap','TwapReset','VwapReset','FastReset','SlowReset','TwapAlpha','VwapAlpha','TwapAlphaC','VwapAlphaC','AutoComplete','AllowImmediate','Manual','SpdrPulse','IOC') NOT NULL DEFAULT 'None' COMMENT 'Immediate = all size immediately available;TWAP = size released in time intervals;VWAP = size released in volume intervals;',
`progressSliceCnt` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'number of progress slices to use (default = 4 or 8) [max 20]',
`progressExposeTime` INT NOT NULL DEFAULT 0 COMMENT 'minimum time (secs) to expose order (0 = no minimum; used to guarantee that the order is exposed at mid-market for some time before actively taking)',
`vwapParticipation` FLOAT NOT NULL DEFAULT 0 COMMENT 'target vwap participation rate (target % of trade activity)',
`minMktOnClosePct` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Minimum pct [0 - 100] of order reserved for the on-close auction',
`triggerType` ENUM('None','PrintPrc','PrintVol','SurfVol','PrtSurfVol') NOT NULL DEFAULT 'None' COMMENT 'type of trigger (PrintVol/SurfVol only for options) [print = print or actionable quote]',
`triggerLevel` FLOAT NOT NULL DEFAULT 0 COMMENT 'stop/trigger price for parent order to go active',
`marketSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'None',
`startDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT '[optional] (parent order start time)',
`orderDuration` INT NOT NULL DEFAULT 0 COMMENT '[optional] (number of seconds)',
`goodTillDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT '[optional] (default: 2099-01-01)',
`expireDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'EE Parent Order Expiry Dttm',
`cxlUPrcRange` ENUM('None','Yes','No','YesHalt','NoHalt') NOT NULL DEFAULT 'None' COMMENT 'cancel spdr order if/when outside stock price range',
`minUBid` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional]',
`maxUAsk` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional] (< $0.01 = none)',
`minMaxType` ENUM('None','Prc','Pct') NOT NULL DEFAULT 'None' COMMENT 'if Prc minUBid/maxUAsk are expressed as prices; if Pct then they are expresses as pct change since parent order arrival',
`minOptionPx` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional] option price floor for tied to stock orders',
`maxChildOrders` INT NOT NULL DEFAULT 0 COMMENT 'maximum number of child orders that can be generated by this parent order [order will terminate if/when this cap is reached;zero or neg = unlimited]',
`exchMask` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'eligible exchanges (0 = all)',
`externExDest` VARCHAR(16) NOT NULL DEFAULT '',
`execBrkrCode` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'execBrkrCode attached to parent order (if any)',
`positionType` ENUM('None','Opening','Closing','Auto') NOT NULL DEFAULT 'None',
`ssaleFlag` ENUM('None','Long','Short','Exempt','Auto','Open','Close','Cover','NA') NOT NULL DEFAULT 'None',
`locateQuan` INT NOT NULL DEFAULT 0 COMMENT 'available locate quantity (if selling short) @ child order send time',
`locateFirm` VARCHAR(6) NOT NULL DEFAULT '' COMMENT 'firm granting the locate (also locate firm used on street FIX orders)',
`locatePool` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'locate pool @ firm granting the locate',
`parentOrderHandling` ENUM('None','ActiveTaker','PostOnly','DMA','MktOnOpn','MktOnCls','Facilitate','Matrix','Legger','Seeker','SeekerLegger','CrossResponse','AuctionResponse','MLegAuctionResp','RFQRequest','AwayAlgo','ExchPing','BlockAuction','BlockResponse','SweepTake','CobMaker','FaceOmni','TestParent') NOT NULL DEFAULT 'None',
`parentBalanceHandling` ENUM('None','PostWith','PostTurn','PostImprove','PostLimit','MaxIntern','PostWthF','PostImprvR','PostFlash','PostFlashW','PostPeg','PostFlashI') NOT NULL DEFAULT 'None',
`blockVisibility` ENUM('None','Neither','Side','SidePrice') NOT NULL DEFAULT 'None',
`orderLimitType` ENUM('None','Market','MarketArrival','Prc','PrcDe','PrcDeX','PrcDeT','PrcDeP','PrcDeXT','PrcDeXP','Vol','VolX','PrcV','PrcVX','NoLimit','RelMid','RelJoin','RelCross','SmrtFast','SmrtNorm','RelTurn','PrcDeEm','VolEm','Aux','UPrcPct','PkgNeutral','RcPrem','SynthLimitMM','SynthLimitBW','SynthLimitWW') NOT NULL DEFAULT 'None',
`takeLimitClass` ENUM('Simple','Surface','Probability','SurfProb') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit)',
`makeLimitClass` ENUM('Simple','Surface','Probability','SurfProb') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit)',
`takeReachRule` ENUM('None','Delayed','Passive','WeakOnly','RespondOnly','FullSize','ISOSweep','AllOrNone','QtyOrMore','UpToQty','AtMost25','AtMost50','MinTakeFee') NOT NULL DEFAULT 'None' COMMENT 'Immediate = reach room immediately available; Delayed = available after [1-3] seconds; Passive = available if contra side aggresses; WeakOnly = only take if available size < avgMarketSize; ISOSweep = Intermarket Sweep [requires WaitTrigger]',
`orderPrcLimit` DOUBLE NOT NULL DEFAULT 0 COMMENT 'Applies if LimitType = Prc[]',
`orderRefUPrc` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=underlier.mid',
`orderRefDelta` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=option.delta',
`orderRefGamma` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=option.gamma',
`orderRefTheta` FLOAT NOT NULL DEFAULT 0,
`orderRefYears` FLOAT NOT NULL DEFAULT 0,
`orderVolLimit` FLOAT NOT NULL DEFAULT 0 COMMENT 'Applies if LimitType = Vol[] [uses SR dividends and borrow rates]',
`rateOverride` FLOAT NOT NULL DEFAULT 0 COMMENT 'zero = ignore;> zero = override',
`sdivOverride` FLOAT NOT NULL DEFAULT 0,
`ddivOverride` TEXT NOT NULL DEFAULT '' COMMENT 'discrete dividend string override ([yearsToExpiry,divYears:divAmount,divYears:divAmount, ...])' CHECK(LENGTH(ddivOverride) <= 10000),
`overrideCode` ENUM('None','SDivOnly','DDivOnly','Both') NOT NULL DEFAULT 'None',
`orderPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if takeLimitClass = Probability',
`makeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if makeLimitClass = Probability',
`takeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] takeProbLimit = MAX(takeProbability, takeProbAvg + takeAlphaFactor * takeProbStd) [if takeAlphaType = Relative]',
`makeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] makeProbLimit = MAX(makeProbability, makeProbAvg + makeAlphaFactor * makeProbStd) [if makeAlphaType = Relative]',
`takeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'takeProbLimit = takeProbability [if takeAlphaType = Static]',
`makeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'makeProbLimit = makeProbability [if makeAlphaType = Static]',
`takeSurfPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeSurfVolOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeSurfWidthOffset` FLOAT NOT NULL DEFAULT 0 COMMENT '[-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth',
`makeSurfPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`makeSurfVolOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=0',
`makeSurfWidthOffset` FLOAT NOT NULL DEFAULT 0 COMMENT '[-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth',
`expDayWtVegaOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day wtVega offset (target)',
`maxExpDayWtVegaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max accnt+expiration day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxExpDayWtVegaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max accnt+expiration day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`maxExpDayRMetric6Ln` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+expiration day rMetric6 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxExpDayRMetric6Sh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+expiration day rMetric6 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`symDayDDeltaOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day $delta offset (target)',
`maxSymDayDDeltaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day $delta long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayDDeltaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day $delta short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`symDayVegaOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day vega offset (target)',
`maxSymDayVegaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayVegaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`symDayWtVegaOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day wtVega offset (target)',
`maxSymDayWtVegaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayWtVegaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`maxSymDayRMetric7Ln` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day rMetric7 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxSymDayRMetric7Sh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol day rMetric7 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayDDeltaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day $delta long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayDDeltaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day $delta short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayVegaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day vega long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayVegaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day vega short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayVegaAbs` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day vega abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`grpDayVegaRatio` FLOAT NOT NULL DEFAULT 0 COMMENT 'target bot / sld ratio (eg ratio=2.0 means that neutral is bot vega = 2x sld vega)',
`maxGrpDayContractsLn` INT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day opt contracts long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayContractsSh` INT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day opt contracts short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayContractsAbs` INT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day opt contracts abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`maxGrpDayRMetric1Ln` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric1 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric1Sh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric1 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric1Abs` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric1 abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`grpDayRMetric1Ratio` FLOAT NOT NULL DEFAULT 0 COMMENT 'target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1)',
`maxGrpDayRMetric2Ln` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric2 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric2Sh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric2 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric3Ln` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric3 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric3Sh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric3 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric4Ln` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric4 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric4Sh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric4 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric5Ln` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric5 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric5Sh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+riskGroup day rMetric5 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`symEmaCxlDDeltaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol 60s EMA $delta long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches]',
`symEmaCxlDDeltaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol 60s EMA $delta short (positive number; <= 0 is no limit)',
`symEmaCxlWtVegaLn` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol 60s EMA wtVega long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches]',
`symEmaCxlWtVegaSh` FLOAT NOT NULL DEFAULT 0 COMMENT 'max acct+symbol 60s EMA wtVega short (positive number; <= 0 is no limit)',
`arriveBid` DOUBLE NOT NULL DEFAULT 0,
`arriveAsk` DOUBLE NOT NULL DEFAULT 0,
`arriveSweepCount` INT NOT NULL DEFAULT 0 COMMENT 'number of parent orders arriving with immediately available sweep qty',
`arriveSweepOrderQty` INT NOT NULL DEFAULT 0 COMMENT 'total size of all child orders generated due to parent order arrival sweep',
`arriveSweepFillQty` INT NOT NULL DEFAULT 0 COMMENT 'total fill size due to parent order arrival sweep',
`numSweepChildOrders` INT NOT NULL DEFAULT 0 COMMENT 'child orders generated in initial arrival sweep',
`auctionLink` INT NOT NULL DEFAULT 0 COMMENT 'total linkage auction contracts while parent order was active',
`auctionFace` INT NOT NULL DEFAULT 0 COMMENT 'total facilitation auction contracts while parent order was active',
`auctionResp` INT NOT NULL DEFAULT 0 COMMENT 'total auction response contracts',
`prtActiveCnt` INT NOT NULL DEFAULT 0 COMMENT 'total print events while parent order was active; [any exchange; all prints]',
`prtQtyActive` INT NOT NULL DEFAULT 0 COMMENT 'total quantity printed while parent order was active; [any exchange; all prints]',
`prtQtyActiveMny` FLOAT NOT NULL DEFAULT 0 COMMENT 'total of (quantity printed x print price) while parent order was active',
`prtEligibleCnt` INT NOT NULL DEFAULT 0 COMMENT 'total eligible (public) print events while parent order was active; [any exchange; all eligible prints]',
`prtQtyEligible` INT NOT NULL DEFAULT 0 COMMENT 'total eligible (public) quantity printed while parent order was active; [any exchange; all eligible prints]',
`prtQtyLimitOK` INT NOT NULL DEFAULT 0 COMMENT 'total quantity printed at or better than parent limit while parent was active; SUM(MIN(PrintSize,OpenParentOrderSize)) [any exchange]',
`prtQtyCompete` INT NOT NULL DEFAULT 0 COMMENT 'total quantity printed on an exchange on which we had a competitive child order on that exchange; SUM(MIN(PrintSize, OpenChildOrderSize)) [childOrder.exch = print.exch]',
`prtQtyAwayChld` INT NOT NULL DEFAULT 0 COMMENT 'total quantity printed on an away exchange when we had a competitive child order(s) in the market and the away exchange was competitive prior to the print; SUM(MIN(PrintSize, OpenChildOrderSize)) [childOrder.exch != print.exch]',
`prtQtyNoCompete` INT NOT NULL DEFAULT 0 COMMENT 'total quantity printed on an exchange when the print exchange was not competitive prior to the print (non quote-competitive prints)',
`prtQtyNoCompNbbo` INT NOT NULL DEFAULT 0 COMMENT 'total quantity printed on an exchange when the NBBO was not competitive prior to the print (non nbbo-competitive prints)',
`mkCheckCnt` INT NOT NULL DEFAULT 0 COMMENT 'total number of times order was checked for making',
`minMkProb` FLOAT NOT NULL DEFAULT 0 COMMENT 'min make probability while broker active',
`avgMkProb` FLOAT NOT NULL DEFAULT 0 COMMENT 'average make probability while broker active',
`curMkProb` FLOAT NOT NULL DEFAULT 0 COMMENT 'current make probability',
`tkCheckCnt` INT NOT NULL DEFAULT 0 COMMENT 'total number of times order was checked for taking',
`maxTkProb` FLOAT NOT NULL DEFAULT 0 COMMENT 'max take probability while broker active',
`avgTkProb` FLOAT NOT NULL DEFAULT 0 COMMENT 'average take probability while broker active',
`curTkProb` FLOAT NOT NULL DEFAULT 0 COMMENT 'current take probability',
`prtPrbCnt` INT NOT NULL DEFAULT 0 COMMENT 'total number of print probability records while broker active (all limit types)',
`prtPrbCheck` INT NOT NULL DEFAULT 0 COMMENT 'number of print probability records with active probability printTake handler',
`prtPrbLmtOK` INT NOT NULL DEFAULT 0 COMMENT 'number of print probability records that pass broker takeLimit',
`tkQtyLmtOK` INT NOT NULL DEFAULT 0 COMMENT 'total quantity available to take at parent limit or better while broker active',
`avgQteSzRatio` FLOAT NOT NULL DEFAULT 0 COMMENT 'average ratio of child size / nbbo size during the life of the working order when child order is at nbbo',
`cntQteSzRatio` INT NOT NULL DEFAULT 0 COMMENT 'sample counter for above [1 second intervals]; qteCnRatio / qteCnRatioCnt = avg of child size / nbbo size while broker active',
`minQteWidth` FLOAT NOT NULL DEFAULT 0 COMMENT 'minimum quote width during active order window',
`avgQteWidth` FLOAT NOT NULL DEFAULT 0 COMMENT 'average quote width (during active order window)',
`cntQteWidth` INT NOT NULL DEFAULT 0,
`updateSrc` ENUM('None','New','Done','Reject','BrokerStatus','CumActQty','CumFillQty','Dirty','OrderStatus','Refresh','StateReject','PermClosed','ParentLimit') NOT NULL DEFAULT 'None',
`numUpdates` INT NOT NULL DEFAULT 0 COMMENT 'number of record updates (cumulative for the day)',
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'SR system timestamp',
CONSTRAINT nonnegative_groupingCode CHECK(ASCII(groupingCode) < 56),
CONSTRAINT nonnegative_parentNumber CHECK(ASCII(parentNumber) < 56),
CONSTRAINT nonnegative_baseParentNumber CHECK(ASCII(baseParentNumber) < 56),
CONSTRAINT nonnegative_riskGroupId CHECK(ASCII(riskGroupId) < 56),
PRIMARY KEY USING HASH (`accnt`,`secKey_tk`,`secKey_yr`,`secKey_mn`,`secKey_dy`,`secKey_xx`,`secKey_cp`,`secKey_at`,`secKey_ts`,`secType`,`spdrSource`,`groupingCode`,`orderSide`,`clientFirm`),
KEY `AccntIndex` (`accnt`) USING HASH,
KEY `ClientFirmIndex` (`clientFirm`) USING HASH,
KEY `UserNameIndex` (`userName`) USING HASH
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='SpdrParentBrkrDetail records are created/published by SpiderRock Execution Engines. Each record describes the current active detail of a single parent broker.';